package com.woniuxy.yoga.course.service.service;

import com.woniuxy.yoga.commons.core.model.PageInfo;
import com.woniuxy.yoga.course.dao.model.OrdinaryCourseBook;
import com.baomidou.mybatisplus.extension.service.IService;
import com.woniuxy.yoga.course.model.param.ordinary.AddOrdinaryCourseBookParam;
import com.woniuxy.yoga.course.model.param.ordinary.CancelOrdinaryCourseBookParam;
import com.woniuxy.yoga.course.model.param.ordinary.CoachQueryOrdinaryCourseBookParam;
import com.woniuxy.yoga.course.model.param.ordinary.UserQueryOrdinaryCourseBookParam;

/**
 * <p>
 * 普通课程预约表 服务类
 * </p>
 *
 * @author 韦用文,刘存益,郎腾霄
 * @since 2023年11月28日
 */
public interface OrdinaryCourseBookService extends IService<OrdinaryCourseBook> {

    /**
     * 新增普通课程预约
     * @param param
     */
    void addOrdinaryCourseBook(AddOrdinaryCourseBookParam param);

    /**
     * 预约取消
     * @param param
     */
    void cancelOrdinaryCourseBook(CancelOrdinaryCourseBookParam param);

    /**
     * 预约签到
     * @param reservationId
     */
    void signedOrdinaryCourseBook(Integer reservationId);

    /**
     * 教练查询自己的普通预约信息
     * @param param
     * @return
     */
    PageInfo coachQueryOrdinaryCourseBook(CoachQueryOrdinaryCourseBookParam param);

    /**
     * 学员查询自己的所有普通预约信息
     * @param param
     * @return
     */
    PageInfo userQueryOrdinaryCourseBook(UserQueryOrdinaryCourseBookParam param);
}
